fix(seo): SEO/GEO/AEO audit fixes for -new draft pages, part 3#508
Merged
Conversation
Full audit of all 24 -new draft pages (excluding index-new) surfaced two systemic issues plus a long tail of schema/accessibility/content gaps. Critical: - Gate the homepage A/B redirect (index.astro) so search/AI crawlers never get randomly sent to noindex'd /home-new, which made Google's indexing signal for "/" non-deterministic across crawls. - Consolidate duplicate NonprofitOrganization JSON-LD nodes sharing one @id (contact-new, donate-new, donate-2-new, media-new) into a single merged schema via a new organizationSchemaExtra prop on HomeLayout, instead of emitting a second colliding node per page. High: - Add Person schema images for all 12 team-new members. - Server-render one donate-new donation variant by default (geo-based, non-randomized) so the core donate CTA is present without JS; the client-side A/B test now hides-all-then-shows-winner. - Add width/height to prevent CLS on about-new, incubator-new, e4p-new founder avatars, and membership-new hero images. - Fix heading hierarchy skips (h1->h3) on ideas-new, projects-new, and tools-new by adding/promoting section h2s. - media-new: switch misapplied NewsArticle schema to mentions/CreativeWork since the articles are hosted on third-party domains. Medium/Low: - Add @id/url/publisher entity links on legal-new, terms-new, privacy-policy-new, get-involved-new WebPage schemas. - Fix ItemList schema on projects-new/tools-new: numberOfItems + proper nested item objects instead of flat non-standard ListItem properties. - aria-hidden decorative SVGs on contact-new and get-involved-new. - Add reciprocal terms-new -> legal-new link. - Lengthen thin titles/descriptions on donate-new, get-involved-new, mentorship-new, membership-new, media-new, terms-new. - Page-specific OG images for team-new and media-new. - Fix ideas-new ItemList descriptions truncating mid-word.
Deploying website with
|
| Latest commit: |
d9d1d3c
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://44cd3271.website-aun.pages.dev |
| Branch Preview URL: | https://fix-seo-new-pages-audit-part.website-aun.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #505, #506, #507 — a full re-audit of all 24
-newdraft pages (all pages ending in-new, excludingindex-new) surfaced two systemic issues plus a tail of schema/accessibility/content gaps that survived the earlier rounds.Critical
index.astro: the client-side 50/50 A/B redirect to/home-newnow skips known bot user agents, so search/AI crawlers never get randomly routed to anoindexpage — this was making Google's indexing signal for/(the live homepage) non-deterministic across crawls.NonprofitOrganizationJSON-LD nodes sharing one@id(contact-new,donate-new,donate-2-new,media-new) into a single merged schema via a neworganizationSchemaExtraprop onHomeLayout, instead of each page emitting a second colliding node.High
imageto Person schema for all 12team-newmembers.donate-newnow server-renders one donation variant by default (geo-based, non-randomized) so the donate CTA/form is present without JS; the client-side A/B script hides-all-then-shows-winner to avoid double-rendering.width/heightto prevent CLS on images inabout-new,incubator-new,e4p-newfounder avatars, andmembership-newhero.ideas-new,projects-new,tools-new.media-new: switched misappliedNewsArticleschema tomentions/CreativeWork, since those articles live on third-party domains and lack the requiredauthor.Medium/Low
@id/url/publisherentity links onlegal-new,terms-new,privacy-policy-new,get-involved-newWebPage schemas.ItemListschema onprojects-new/tools-new: addednumberOfItems, nested entries under properitemobjects.aria-hidden="true"to decorative SVGs oncontact-newandget-involved-new.terms-new→legal-newlink.donate-new,get-involved-new,mentorship-new,membership-new,media-new,terms-new.team-newandmedia-new(using existing on-page assets).ideas-newItemList descriptions truncating mid-word.Deliberately not changed (flagged rather than papered over):
mentorship-new/volunteer-newOG images — neither page has a real image asset to reference; a mismatched placeholder would be worse than the current generic fallback.dateModifiedonlegal-new/terms-new/privacy-policy-new(2025-08-05) — left as-is; bumping it without an actual legal review would fake a freshness signal.tools-newreused placeholder logo for 5 tools — no real logos available in the repo for those tools.Test plan
pnpm check— 0 errorspnpm build— clean production buildpnpm format:check— no new issues (pre-existing unrelated warning onvolunteer.astroonly)/donate-new,/team-new,/media-newin a browser (not yet done by me — these are unlinked-newdraft pages, all stillnoindex)